package com.xyht.sca_s.student_manage_system.modules.scheduleManagement.entity.resp;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xyht.sca_s.student_manage_system.modules.meeting.entity.resp.SmsMeetingRoomInfoResp;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 日程表
 * </p>
 *
 * @author XYHT
 * @since 2023-08-14
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("sms_schedule")
@ApiModel(value="SmsSchedule对象", description="日程表")
public class SmsScheduleResp implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "日程id")
    private String id;

    @ApiModelProperty(value = "主题")
    private String scheduleTopic;

    @ApiModelProperty(value = "预约开始时间")
    private Date scheduleBeginTime;

    @ApiModelProperty(value = "预约结束时间")
    private Date scheduleEndTime;

    @ApiModelProperty(value = "是否跨天日程  0：未跨天  1：跨天")
    private Integer isOverDay;

    @ApiModelProperty(value = "重复类型  0：不重复  1：每天 2：每周 3：每月 4：每年")
    private Integer repeatType;

    @ApiModelProperty(value = "重复结束日期")
    private Date repeatEndTime;

    @ApiModelProperty(value = "是否公开  0: 不公开  1：公开")
    private Integer isOpen;

    @ApiModelProperty(value = "日程地址")
    private String scheduleAddr;

    @ApiModelProperty(value = "日程描述")
    private String scheduleDescription;

    @ApiModelProperty(value = "创建人id")
    private String scheduleCreatorId;

    private SmsUserInfoResp creatorInfo;

    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    @ApiModelProperty(value = "自定义重复星期集合")
    private String repeatCustomWeek;

    @ApiModelProperty(value = "日程类型 1：普通日程  2：会议日程")
    private Integer scheduleType;

    @ApiModelProperty(value = "会议日程id")
    private String scheduleMeetingId;

    @ApiModelProperty(value = "重复日程标志id")
    private String scheduleRepeatId;

    @ApiModelProperty(value = "接受状态  0：未接受  1：接收  2：拒绝")
    private Integer acceptType;

    private List<SmsSchedulePersonRelationResp> personList;

    private List<SmsScheduleNoticeResp> noticeList;

    private SmsMeetingRoomInfoResp meetingRoomInfo;

}
